1. Technical Field
This disclosure relates generally to integrated circuits, and, more specifically, to data encoding.
2. Description of the Related Art
An interconnect may include multiple signal lines (i.e., channels) for conveying bits of information from a transmitting device to a receiving device. In some instances, rapidly charging and discharging the lines (i.e., switching) to transmit information at high frequencies may produce excessive transient currents, which may introduce noise into the data signals. This noise, in turn, may reduce overall speed and increase power consumption of the interconnect.
Various encoding algorithms have been developed to minimize the amount of switching. Data bus inversion (DBI) is one algorithm in which a transmitting device will invert a transmission of N bits if the inverted transmission will cause less switching than the non-inverted transmission. In one implementation referred to as DBI DC mode encoding, a transmitting device inverts a transmission of N bits if the number of bits having a particular logical value (e.g., a logical zero) is greater than N/2. Inverting bits in this manner guarantees that the number of switched lines does not exceed N/2. In another implementation referred to as AC mode encoding, a transmitting device may compare a transmission of N bits with a previous transmission and invert the transmission if the number of different bits from the previous transmission exceeds N/2. Inverting bits in this manner also limits the number of switched lines to N/2.